<?php
function gen() {
    $ret = (yield 'yield1');
    var_dump($ret);
    $ret = (yield 'yield2');
    var_dump($ret);
}
 //调用不加载内存，应该是有开辟栈吧
$gen = gen();
//协程send东西是send给current的当前协程的，其他yield还是原样输出。
//var_dump($gen->next());
$gen->next();
var_dump($gen->current()); 
var_dump($gen->send('ret2'));
 //var_dump($gen->current());    // string(6) "yield1"
 //问题是要怎么传递数据到加载器。
 //var_dump($gen->send('ret1')); // string(4) "ret1"   (the first var_dump in gen)
//                               // string(6) "yield2" (the var_dump of the ->send() return value)
// var_dump($gen->send('ret2')); // string(4) "ret2"   (again from within gen)
                              // NULL               (the return value of ->send())
?>